package com.yanfan.zutai.service;

import com.yanfan.common.core.domain.AjaxResult;
import com.yanfan.common.core.domain.entity.SysUser;
import com.yanfan.zutai.domain.BDeviceZtUser;
import com.yanfan.zutai.domain.vo.ZutaiDataVo;
import com.yanfan.zutai.domain.vo.ZutaiVo;

import java.util.List;

/**
 * 组态用户Service接口
 *
 * @author kerwincui
 * @date 2024-02-02
 */
public interface IBDeviceZtUserService {
    /**
     * 查询组态用户
     *
     * @param ztId 组态用户主键
     * @return 组态用户
     */
    BDeviceZtUser selectBDeviceZtUserByZtId(Long ztId);

    /**
     * 查询组态用户列表
     *
     * @param bDeviceZtUser 组态用户
     * @return 组态用户集合
     */
    List<BDeviceZtUser> selectBDeviceZtUserList(BDeviceZtUser bDeviceZtUser);

    /**
     * 新增组态用户
     *
     * @param bDeviceZtUser 组态用户
     * @return 结果
     */
    int insertBDeviceZtUser(BDeviceZtUser bDeviceZtUser);

    /**
     * 修改组态用户
     *
     * @param bDeviceZtUser 组态用户
     * @return 结果
     */
    int updateBDeviceZtUser(BDeviceZtUser bDeviceZtUser);

    /**
     * 批量删除组态用户
     *
     * @param ztIds 需要删除的组态用户主键集合
     * @return 结果
     */
    int deleteBDeviceZtUserByZtIds(Long[] ztIds);

    /**
     * 删除组态用户信息
     *
     * @param ztId 组态用户主键
     * @return 结果
     */
    int deleteBDeviceZtUserByZtId(Long ztId);

    int insertBDeviceZtUserList(List<BDeviceZtUser> bDeviceZtUser);

    SysUser selectShareUser(BDeviceZtUser user);

    int deleteBDeviceZtUser(BDeviceZtUser bDeviceZtUser);

    /**
     * @param deptId  机构id
     * @param zutaiId 组态id
     * @return
     */
    AjaxResult fpBDeviceZtUser(Long deptId, String zutaiId);


    AjaxResult insertfpUser(Long deptId, String zutaiId);

    List<ZutaiVo> zutaiList();

    AjaxResult bDeviceZtList(ZutaiDataVo zutaiDataVo);
}
